Построение сеток в Bootstrap.

Сетка и классы

Построение сетки на боотстрап возможно в соответствии с макетом настроеным на колоночную верстку

Стандартно этот фреймворк настроен на 12 колоночную сетку с возможностью перенастройки на увеличение количества колонок, ширины контейнера и прочее

Фреймворк рассчитан на построение адаптивного дизайна с правилами CSS в виде медиа запросов позволяющих перестраивать блоки в потоке в зависимости от текущих разрешений экранов, имеет классы для возможности перемещения элементов внутри ряда и их центровки

Работа с фреймворком начинается с необходимых настроек на сайте http://getbootstrap.com/customize/, этот ресурс разработчика боотстрап позволяет подключить стили и настроить все необходимые элементы и блоки будущей страницы(формы, таблицы, кнопки, модальные окна и тд)

Завершающим этапом является скачивание готового файла-библиотеки и подключение его к странице HTML.

Классы Bootstrap для построения сеток

Bootstrap Назначение
.containerПомещаю ряды и колонки страницы в контейнер (блок с классом.container). Ширина этого блока имеет на различных контрольных точках (благодоря наличию медиа запросов) разную ширину для соответствия с системой разметки макета.Также в этом классе по умолчанию имеется padding-и.
.container-fluidЕсли есть необходимость и макет расчитан на переменную ширину контента, применяю класс который использует 100% ширины окна браузера. Класс .container-fluid устанавливает значение свойства margin, равное auto от левого и правого края контейнера до границ элемента body (т.е margin-left: auto и margin-right: auto). Этим он выравнивает элемент (.container-fluid) по горизонтали. Класс .container-fluid задает отступы с помощью свойства CSS padding от левого и право края элемента до его содержимого на 15px (т.е. padding-left: 15px, padding-right: 15px).
.rowКласс является обязательным при построении сетки на этом фреймворке, так как колонки col- имеют паддинги внешние паддинги данный класс компенсирует отрицательным маржином(слева и справа), с этого класса начинается построение сетки(ряда)
.col-xs-#класс для колонки в ряду подключается на разрешении экрана менее 768px
.col-sm-#класс для колонки в ряду подключается на разрешении экрана от 768px до 992px
.col-md-#класс для колонки в ряду подключается на разрешении экрана от 992px до 1200px
.col-lg-# класс для колонки в ряду подключается на разрешении экрана от 1200px
.col-xs-offset-# добавляет дополнительный margin_left менее 768px Эти классы используют когда количество колонок в ряду по макету менее 12
.col-sm-offset-#добавляет дополнительный margin_left на разрешении экрана от 768px до 992px
.col-md-offset-#добавляет дополнительный margin_left на разрешении экрана от 992px до 1200px
.col-lg-offset-#добавляет дополнительный margin_left на разрешении экрана от 1200px

Наглядный пример сетки

col-sm-1
col-sm-1
col-sm-1
col-sm-2
col-sm-2
col-sm-2
col-sm-1
col-sm-1
col-sm-1

Класс .clearfix

Класс .clearfix использую если блоки в ряду имеют различную высоту и нужно отменить обтекание свойственное "флоченым" элементам, класс создаёт некую "планку" в потоке и не даёт всем элементам под ней обтекать верхний блок

Адаптивные таблицы

Таблицы, используемые для отображения данных, также адаптивны в Bootstrap. Для использования стилей таблиц Bootstrap мы используем класс .table, которому соответствует следующий CSS-код:

          .table {
            width: 100%;
            max-width: 100%;
            margin-bottom: 20px;
          }
    
Применяя ширину в 100%, Bootstrap обеспечивает заполнение таблицами всей ширины родительского элемента. Но есть одна проблема. Таблицы с несколькими столбцами сжимаются на небольших устройствах, и могут не читаться. Чтобы исправить это, Bootstrap содержит другой класс table-responsive
Вот его CSS-код:
          .table-responsive {
            width: 100%;
            overflow-x: auto;
            overflow-y: hidden;
            -webkit-overflow-scrolling: touch;
            -ms-overflow-style: -ms-autohiding-scrollbar;
            border: 1px solid #ddd;
          }
      
Эти стили преобразуют столбцы таблицы в горизонтально прокручиваемые на небольших устройствах.

Адаптивные изображения

Большие изображения могут стать проблемой для небольших устройств. Bootstrap использует класс .img, что сделать любое изображение адаптивным:
              .img-responsive {
                display: block;
                max-width: 100%;
                height: auto;
              }
      
Комбинация объявлений max-width: 100% и height: auto
обеспечивает то, что изображения пропорционально уменьшаются на небольших устройствах, оставаясь в рамках ограничений родительского элемента на больших устройствах.